This documentation is for people that want to help developing the forgefed
specification. **If you're only interested in adding support for forgefed
into an existing forge, this documentation is not for you. Please look
[at this documentation](developers.md) instead.**

# Overview

- The point of this server is to relay messages to the fediverse on behalf
  of a forge
- Messages are described [here](messages.md)
- Use the [ActivityPub](https://www.w3.org/TR/activitypub/) specification as
  much as possible. Introduce new "Activity Types" and "Actor Types" only
  when needed

# Installing MCFI ForgeFed server

Download the source code

    git clone https://notabug.org/zplus/mcfi.git

Start by changing the server settings in `settings.py`

Create Python virtual environment

    python3 -m venv venv (if this doesn't work, try `virtualenv -p python3 venv`)
    source venv/bin/activate
    pip3 install -r requirements.txt

Start up the server

    gunicorn3 --config gunicorn.py mcfi:application

This server will listen at URLs like `/<actor>` where `<actor>` can be anything,
for example `/alice` or `/alice/lab2-homework`.
